#ifndef XLCOMM_NONCOPYABLE_H_
#define XLCOMM_NONCOPYABLE_H_

namespace xlcomm {

// 禁用拷贝构造、拷贝赋值、移动构造、移动赋值的基类
class noncopyable {
 public:
  noncopyable(const noncopyable&) = delete;
  noncopyable& operator=(const noncopyable&) = delete;

 protected:
  noncopyable() = default;
  ~noncopyable() = default;
};

}  // namespace xlcomm

#endif  // XLCOMM_NONCOPYABLE_H_